package com.yk._09线程池;

import java.util.HashMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * 池化技术 线程池 对象池 内存池 连接池； 优化使用系统资源
 *
 * 线程池
 *   降低资源消耗，提高响应速度，方便管理
 *   可以控制最大并发数
 *   管理线程
 */
public class _01ThreadPool {
    /**
     * 线程池
     *      三大方法 七大参数 四种拒绝策略
     * @param args
     */
    public static void main(String[] args) {
        //ExecutorService executorService1 = Executors.newSingleThreadExecutor();//只有一个线程的线程池
        //ExecutorService executorService2 = Executors.newFixedThreadPool(3);//固定线程数线程池
        ExecutorService executorService3 = Executors.newCachedThreadPool();
        HashMap<String, String> stringStringHashMap = new HashMap<>();

        try {
            for (int i = 0; i < 100; i++) {
                executorService3.execute(()->{
                    System.out.println(Thread.currentThread().getName() + "ok");
                });
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            executorService3.shutdown();
        }
    }
}
